#ifndef _TREE_NODE_H
#define _TREE_NODE_H
#include "DataElementBase.h"
class TreeNode
{
private:
	TreeNode** childrenLinks;
	TreeNode* parentLink;
	DataElementBase* dataField;
	unsigned numOfChildrenLinks;
	unsigned numOfUsedChildrenLinks;
	DataElementBase* CreateDataField(const string& type) const;
public:
	TreeNode(const string &strType, const string &strValue, TreeNode* parentLink, unsigned numChildrenLinks);
	void SetValue(const string& value);
	~TreeNode();
	bool SetLink(TreeNode* lnk);
	string GetData();
};
#endif